package LeetCode.String;

/**
 * 字符串中单词的翻转
 * s = "I am a student"
 * Return "student a am I"
 * 思路：将每个单词翻转，然后将整个字符串翻转。
 */
public class Test3 {

    //字符串切割函数
    // 参考博客 java 字符串分割的三种方法(总结)：https://www.jb51.net/article/98411.htm
    // split(String regex)或split(String regex,int limit)
    //  参数：regex字符串或正则表达式对象(按照什么切割) limit用来限制返回数组中的元素个数
    //  返回值：字符串数组 String[]
    //
    //字符串拼接
    //参考博客：https://www.cnblogs.com/lujiahua/p/11408689.html
    // String + 或concat函数
    // StringBuilder或StringBuffer append函数

    private static String wordReverse(String str) {
        String[] arr = str.split(" ");
        StringBuilder result = new StringBuilder();
        for (int i = arr.length - 1; i > 0; i--) {
            result.append(arr[i]).append(" ");
        }
        //最后一个不加空格
        result.append(arr[0]);
        return result.toString();
    }

    public static void main(String[] args) {
        System.out.println("3.字符串中单词的翻转");
        String s = "I am a student";
        System.out.println(s);
        System.out.println(wordReverse(s));
    }
}
